perm filename BIGNUM.LSP[1,3] blob sn#000155 filedate 1970-03-15 generic text, type T, neo UTF8
(SETQ IBASE (ADD1 9)) 


(DEFPROP BIGFNS 
 (NIL BIGINIT APNINIT FPRINT RPRINT TEN) 
VALUE)

(DEFPROP BIGINIT 
 (LAMBDA NIL
  (PROG NIL
	(PUTSYM (VBASE (GET (QUOTE BASE) (QUOTE VALUE)))
 		NEGNUM
 		POSNUM
 		FIXNUM
 		FLONUM
		(MINUSP (GET (QUOTE MINUSP) (QUOTE SUBR)))
		(VNOPOI (GET (QUOTE *NOPOINT) (QUOTE VALUE)))))) 
EXPR)

(DEFPROP APNINIT 
 (LAMBDA NIL
  (PROG NIL
	(GETSYM SUBR BIGINI)
	(BIGINI)
	(REMPROP (QUOTE APNINIT) (QUOTE EXPR))
	(REMPROP (QUOTE BIGINIT) (QUOTE EXPR))
	(REMPROP (QUOTE BIGINI) (QUOTE SUBR)))) 
EXPR)

(DEFPROP FPRINT 
 (LAMBDA(R Q N)
  (COND ((ZEROP N) (PRINC (QUOTE / )))
	(T (PROG (Z) (SETQ Z (DIVIDE (TIMES R TEN) Q)) (PRINC (CAR Z)) (RETURN (FPRINT (CDR Z) Q (SUB1 N))))))) 
EXPR)

(DEFPROP RPRINT 
 (LAMBDA (P Q N) (PROG (Z) (SETQ Z (DIVIDE P Q)) (PRIN1 (CAR Z)) (PRINC (QUOTE /.)) (FPRINT (CDR Z) Q N) N)) 
EXPR)

(DEFPROP TEN 
 (NIL . 1000000000) 
VALUE)

(BIGINIT)